﻿using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using OpusSuite.Models.Model.Shared;

namespace OpusSuite.Models.Model.Property
{
    public abstract class Property : ModelBase, IStaticBase
    {
        [Key]
        public int Id { get; set; }

        [StringLength(30)]
        public string Code { get; set; }

        public virtual ReportingStatus ReportingStatus { get; set; }

        public virtual PropertyAddress Address { get; set; }

        public virtual VatDetail VatDetails { get; set; }

        public virtual PropertyData Data { get; set; }

        public virtual IList<Charge> Charges { get; set; }
    }
}
